1. Field of Invention
The present invention relates to a data protection architecture. More particularly, the present invention relates to a data protection architecture to protect the data in RAID with the use of data protection information.
2. Description of Related Art
Computer is an indispensable device in modern life. The data transmission and data storage are important in the computer technology. However, some errors may occur during the data transmission due to the hardware or software problems. Thus, it's an important issue to correctly detect the error during the data transmission. Thus, various check codes are applied to network communication, data access, data storage and data transmission technology.
Cyclic redundancy check (CRC) code technology is an error detection technology to detect accidental alteration of data during data transmission. The arithmetic process of the CRC is to treat the data about to transfer as a value composed of a plurality of continuous bits, and then to divide the value by a specific divisor in a binary form, wherein the divisor is termed a generation polynomial. The divisor is provided by the manufacturer of the hardware or the software. The number of the bits of the divisor depends on the number of the bits of the CRC needed. Some commonly used CRCs are CRC-8, CRC-16 and CRC-32 whose number of the bits are 8, 16 and 32, respectively. Usually, it's easier to detect errors when a longer CRC code is adapted. However, the longer CRC code is adapted, the longer time it takes to transfer the code. Theoretically, only one division operation is needed to calculate CRC. The remainder generated after the division operation is the CRC value. The CRC value is attached to the data packet and is sent to the target device as well. After the reception of the data packet, the target device performs an arithmetic operation with the same algorithm on the received packet to calculate a new CRC code. If the new CRC code is identical to the received CRC code, the received data is correct. If the new CRC code is different from the received CRC code, some errors are generated during the transmission. The data needs to be resent from the data-delivering end.
Though CRC error detection technology is widely adapted in various applications, it is only for the detection of the bit error caused by the hardware signal interference and is not able to deal with the data displacement error caused by the software.
Therefore, a standard called data protection information (DPI) is proposed to provide the data protection for end-to-end data transmission. Please refer to FIG. 1A and FIG. 1B. The DPI standard is to attach a data protection field 12 (e.g. an 8-byte field) after the basic data access unit 11 (e.g. a 512-byte field) of the conventional SCSI protocol. Thus, a new hybrid data chunk 10 (e.g. a 520-byte field) is generated. Take an example of an 8-byte data protection field 12, which can be separated into a 2-byte logical block guard subfield 121, a 2-byte logical block application tag subfield 122 and a 4-byte logical block reference tag subfield 123. The logical block guard subfield 121 is used to store the CRC code of the basic data access unit 11. The logical block reference tag subfield 123 is used to store the last 4 bytes of the logical block address (LBA) of data. The definition of the logical block application tag subfield 122 depends on different applications. Basically, the user can define both the logical block application tag subfield 122 and logical block reference tag subfield 123.
Though the DPI standard provides the data error detection for the end-to-end payload data transmission of the SCSI protocol, it doesn't define the data error detection for the parity data of the RAID system. However, the RAID system, especially the RAID system having the parity data, is the mainstream of the data storage system technology. Thus, what is needed is a structure of RAID system having multiple parity data to protect the check data of the parity data and/or the payload data with the DPI standard. The present invention addresses such a need.